# -*- coding: utf-8 -*-
"""
@Project: base_python
@File: scrapetest12.py
@Author: PC
@Date: 2025/05/08
@Description: 
"""
# -*- coding: utf-8 -*-

from urllib.request import urlopen
from bs4 import BeautifulSoup
import datetime
import re

pages = set()
def getLinks(articleUrl):
    """
    根据给定的维基百科文章URL，获取文章内容中所有指向其他维基百科文章的链接。
    
    参数:
    articleUrl - 维基百科文章的URL路径，用于构造完整的请求URL。
    
    返回:
    一个列表，包含所有指向其他维基百科文章的链接。
    """
    global pages
    # 打开指定URL对应的网页并读取页面内容
    html = urlopen('http://en.wikipedia.org{}'.format(articleUrl))
    # 使用BeautifulSoup解析HTML内容，以便于后续提取数据
    bsObj = BeautifulSoup(html, 'html.parser')
    # 在解析的HTML中，找到id为'bodyContent'的div标签下的所有<a>标签，
    # 并筛选出其中href属性匹配特定正则表达式的链接
    for link in  bsObj.find_all('a', href=re.compile('^(/wiki/)')):
        if 'href' in link.attrs:
            if link.attrs['href'] not in pages:
                # 新页面的链接
                newPage = link.attrs['href']
                print(newPage)
                pages.add(newPage)
                getLinks(newPage)

getLinks('')
        
